Calendaring systems have formed the core component of personal information management software and firmware applications for decades. Initially, a mere calendar display, modern calendaring systems provide scheduling and alarm functions in addition to full integration with contact management. The typical calendaring application minimally provides a mechanism for scheduling an event to occur on a certain date at a certain time. Generally, the event can be associated with a textual description of the event. Calendaring systems typically allow a user to manage shared events, referred to generally as meetings. Electronic calendaring software allows groups of users to negotiate around the scheduling of a proposed event, such as a meeting, with the goal of selecting a time that allows most of the users to attend.